<?php
//Razred za metode za pisanje dnevnika, log
class Dnevnik {
    // spremenljivki za log file in kazalec nanj
    private $log_file, $fp;
    // nastavimo file
    public function lfile($path) {
        $this->log_file = $path;
    }
    // Metoda za pisanje v datoteko
    public function lwrite($message) {
        // odpremo file, če še nimamo kazalca
        if (!is_resource($this->fp)) {
            $this->lopen();
        }
        
        $script_name = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME);
        $time = @date('[d/M/Y:H:i:s]');
        // v datoteko zapišemo čas in besedilo, ki ga uporabnik poda preko metode
        fwrite($this->fp, "$time ($script_name) $message" . PHP_EOL);
    }
    // zapiranje datoteke
    public function lclose() {
        if($this!=null)
            fclose($this->fp);
    }
    // odpiranje datoteke
    private function lopen() {
        //Privzeta lokacija
        $log_file_default = '/tmp/logfile.txt';
        
        // drugače vzamemo uporabnikove nastavitve
        $lfile = $this->log_file ? $this->log_file : $log_file_default;
        
        //pišemo na konec datoteke, če pa ne obstaja jo pa ustvarimo
        $this->fp = fopen($lfile, 'a') or exit("Can't open $lfile!");
    }
}
?>
